/*
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License version 2 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/

#ifndef PLOTITEM_H
#define PLOTITEM_H
#include "plotpoint.h"
#include <QtCore>
#include <QtGui>

class PlotItem : public QGraphicsPathItem
{

public:
  PlotItem(QGraphicsItem *parent = 0);
  PlotItem(QList<QPointF> data, QGraphicsItem *parent = 0);
  PlotItem(QList<QPointF> data, QPen& p, QGraphicsItem *parent = 0);
  PlotItem(QList<QPointF> data, QPen& p, QBrush& b, QGraphicsItem *parent = 0);
  ~PlotItem();

  void update();


  ///@override
  PlotItem& operator=(const PlotItem& rhs);
  ///@override
  QRectF boundingRect() const;


private:
  QList<QPointF> data;
  QPainterPath *path;

  void construct();
};

#endif // PLOTITEM_H
